/**
 \1. typeof的语法
    typeof是一个运算符，有2种使用方式：
        typeof(表达式)和typeof 变量名，
    第一种是对表达式做运算，第二种是对变量做运算。

 2. typeof的返回值
    1. 'undefined' 定义的变量或值
    2. 'boolean' 布尔类型的变量或值
    3. 'string' 字符串类型的变量或值
    4. 'number' 数字类型的变量或值
    5. 'object' 对象类型的变量或值，或者null(这个是js历史遗留问题，将null作为object类型处理)
    6. 'function' 函数类型的变量或值





 */


console.log(typeof a) // undefined
console.log(typeof(true));  //'boolean'
console.log(typeof '123');  //'string'
console.log(typeof 123);   //'number'
console.log(typeof NaN);   //'number'
console.log(typeof isNaN);   //'function'

console.log('----')
console.log(typeof undefined);   //'undefined'
console.log(typeof null);  //'object'    
console.log(typeof(new String()));    //'object'
console.log(typeof([]));    //'object'
console.log(typeof(function(){}));    //'function'
console.log(typeof(class c{}));  //'function'
console.log(typeof Number );
console.log(typeof String );
console.log(typeof Array );
console.log(typeof Object );
console.log(typeof Boolean );


function Fun(){}
var fun = new Fun()
console.log(typeof fun)  // object

